package cn.xiaolang.spring.demo;

import java.util.Arrays;
import java.util.List;

import com.google.common.collect.Iterables;

/**
 * guava工具库的方法特性 
 * 
 * @version 1.0
 * @since JDK 1.8
 * @author fuhw
 * @date 2016年12月14日 上午11:41:22
 */
public class GuavaCharacters {
	
	public static void main( String[] args ){
		/**串联多个iterables的懒视图**/
		Iterable<Integer> concatResult = Iterables.concat( Arrays.asList( 1,2,3 ),Arrays.asList( 4,5,6,4 ) );
		System.err.println( "concat iterable result:" + concatResult.toString() );
		System.err.println( "4在concatReult中出现的频率:" + Iterables.frequency( concatResult, 4 ) );
		
		/**如果两个iterable中的所有元素相等且顺序一致，返回true*/
		List<Integer> asList = Arrays.asList( 1,2,3,4,5,4,6 );
		boolean elementsEqual = Iterables.elementsEqual( concatResult, asList );
		System.err.println( "指定两个集合是否相等："+elementsEqual );
		
		/**限制iterable的元素个数限制给定值*/
		Iterable<Integer> limit = Iterables.limit( asList, 4 );
		System.err.println( "限制从集合中取出来的数目：" + limit.toString() );
		
	}
	
}
